#pragma once


#include "IDBJSCall.h"
#include "..\DataManager\AbstractDataManager.h"


class CSQLiteJsCallImp : public IDbJsCall,CAbstractDataManager
{
public:
	CSQLiteJsCallImp();
	~CSQLiteJsCallImp();
	virtual void BeginTransaction();
	virtual void CommitTransaction();
	virtual void RollbackTransaction();
	virtual BOOL ExecuteQuery();
	virtual void Bind(int idx,int nValue);
	virtual void Bind(int idx, LPCWSTR szValue) ;
	virtual BOOL IsEof() ;
	virtual void NextRow() ;
	virtual BOOL PrepareStatement(LPCWSTR szSQL);
	virtual int ExecuteUpdate();
	virtual int GetInt(const int idx);
	virtual LPCWSTR GetString(const int idx) ;
	virtual int GetInt(LPCWSTR columnName) ;
	virtual LPCWSTR GetString(LPCWSTR columnName) ;
public:

private:
	CComPtr<ISQLiteComStatement3>	m_pSQLStatement;
	CComPtr<ISQLiteComResultSet3>	m_pRs;
};